1. Field of the Invention
The invention relates to a method and related apparatus for performing data migration operations utilizing a disk array, and more particularly, to a method and related apparatus for performing data migration operations utilizing a disk array through a migration procedure including management of records and an optimized data access method which can increase the migration efficiency while at the same time ensuring the safety of the migration.
2. Description of the Prior Art
Computer systems are a hardware foundation of today's information society. Data, information, and knowledge can be managed, processed, and stored by the computer system. The information products provider utilizes all kinds of techniques to enable the computer systems to store more data and access the data more quickly.
Generally speaking, the current computer system comprises one hard disk that serves as a nonvolatile storage device. As their cost has become less expensive, hard disks have become a common means to build a disk array. A typical disk array comprises the computer system and a plurality of hard disks. Many techniques are utilized today for building various types of disk array structures. Disk array structures have been developed, such as: redundant array of inexpensive disks (RAID0, RAID1, . . . RAID5, and RAID0+1) and matrix RAID structures. These RAID structures can utilize different methods to integrate individual memory spaces of the hard disks into a memory space so that the RAID structures have advantages of data access and data management. For example, in a disk array utilizing a RAID0 technique, one data to be stored into the disk array is divided into multiple data stripes. Different data stripes are written into different hard disks of the disk array in a striping manor that is well know to those of ordinary skills in the art therefore further details of the striping method will be omitted for brevity. Furthermore, when the data is later read from the disk array, the data stripes are read simultaneously from different hard disks then reassembled into the original data. In other words, if one data is accessed from the disk array, only a part of the data (i.e., the data stripe) is accessed from each hard disk. Better data accessing efficiency and performance is achieved due to the simultaneous disk access of the data strip. Another example, in a disk array of RAID5, in addition to the above-mentioned characteristic of separately storing data stripes into different disk arrays, a parity data is also stored. The parity data can allow the disk array not only to access data more quickly, but adds the benefit of providing a method to check whether the stored data is damaged. Moreover, this can allow the disk array to repair the damaged data utilizing a repair technique that results in the original correct data.
The disk array has the above-mentioned advantages; unfortunately, because the disk array's cost is greater, most of the current computer systems comprise only a single hard disk. The disk array can be established, at the users option, if needed. Furthermore, when the disk array is established the user must perform a series of setup steps. These steps include: additional hard disks must be added to the computer system, the users must perform a data migration operation, data stored in the original hard disk must be read and then stored into the new disk array according to the needs of the RAID structure. Therefore, it is one of the key points that the information products providers help the users perform the above-mentioned data migration. In the prior art, the information products provider such as, Intel Corporation, has disclosed a data migration program of a disk array of RAID0. If the user executes this data migration program in the computer system then the data migration can be performed completely.
Unfortunately, the prior art data migration programs have poor performance. That is, the data migration programs require a lot of time to complete the data migration; the application is also limited to providing only for RAID0. Therefore, the data migration program may not support disk arrays of other data structures (e.g., RAID5, etc.).